package ListDemo;

import java.util.ArrayList;
import java.util.List;

/**
 * 笔试题：通过addElement(int a)方法，实现随机输入集合，
 * 就按照从大到小的顺序返回list结果，不能使用jdk自带的排序方法。
 * 例如依次输入  1，9，11，12，3就可以打印结果 1，3，9，11，12
 */
public class SortedList {
    private List<Integer> list = new ArrayList<>();

    public void addElement(int a) {
        //遍历所有list所有元素
        for (int i = 0; i < list.size(); i++) {
            //当要插入的元素小于list中某个元素时，将a插入到该元素前面
            //list其他元素会有序移动位置，这个就是该算法的核心
            if (a < list.get(i)) {
                list.add(i, a);
                //退出循环
                return;
            }
        }
        //当所有元素都比a小时，将a插入到最后
        list.add(a);
    }

    public List<Integer> getList() {
        return list;
    }

    public static void main(String[] args) {
        SortedList sortedList = new SortedList();
        sortedList.addElement(1);
        sortedList.addElement(9);
        sortedList.addElement(11);
        sortedList.addElement(12);
        sortedList.addElement(3);
        sortedList.addElement(20);
        System.out.println(sortedList.getList());
    }


}
